/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.clases;

//import java.io.ByteArrayOutputStream;
//import java.io.FileNotFoundException;
//import java.io.IOException;
//import java.sql.Connection;
//import java.sql.SQLException;
//import java.util.Map;
//import javax.faces.context.ExternalContext;
//import javax.faces.context.FacesContext;
//import net.sf.jasperreports.engine.JRException;
//import net.sf.jasperreports.engine.JRExporterParameter;
//import net.sf.jasperreports.engine.JasperCompileManager;
//import net.sf.jasperreports.engine.JasperExportManager;
//import net.sf.jasperreports.engine.JasperFillManager;
//import net.sf.jasperreports.engine.JasperPrint;
//import net.sf.jasperreports.engine.JasperReport;
//import net.sf.jasperreports.engine.export.JRXlsExporter;
//import sv.com.intesal.conexion.cConexion;

/**
 *
 * @author JM
 */
public class JasperReportGenerator {
//
//    ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
//
//    public static final String compras="web-pages\\COMPRA\\REPORTES\\";
//    public static final String proyecto="web-pages\\PROYECTO\\REPORTES\\";
//    public static final String rrhh="web-pages\\RRHH\\REPORTES\\";
//    public static final String seguridad="web-pages\\SEGURIDAD\\REPORTES\\";
//
//    public byte[] getPdfReportSteam(String reportLocation, Map parameters) throws JRException, SQLException {
//        System.out.println("get path"+context.getRealPath(reportLocation));
//        JasperReport jasperReport = JasperCompileManager.compileReport(context.getRealPath(reportLocation));
//        //Obtenemos una conexion de la sesion que contiene el entityManager
//
//        Connection cnn = cConexion.conectar();
//        // Almacenamos en un objeto JasperPrint el reporte generado
//
//        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, cnn);
//        // Convertimos el objeto JasperPrint a un stream de bytes
//        return JasperExportManager.exportReportToPdf(jasperPrint);
//    }
//
//    public byte[] getXlsReportStream(String reportLocation, Map parameters) throws JRException, FileNotFoundException, IOException, SQLException {
//
//        JasperReport jasperReport = JasperCompileManager.compileReport(context.getRealPath(reportLocation));
//        //Obtenemos una conexion de la sesion que contiene el entityManager
//        Connection cnn = null;
//        cnn = cConexion.conectar();
//        // Almacenamos en un objeto JasperPrint el reporte generado
//        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, cnn);
//        //Exportador a excel
//        JRXlsExporter expExcel = new JRXlsExporter();
//        expExcel.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
//        System.out.println(reportLocation.substring(0, reportLocation.lastIndexOf(".")) + ".xls");
//        //File tmpFile = new File(reportLocation.substring(0, reportLocation.lastIndexOf(".")) + ".xls");
//        //tmpFile.createNewFile();
//        //OutputStream ouputStream = new FileOutputStream(tmpFile);
//        ByteArrayOutputStream tmpStream = new ByteArrayOutputStream();
//        expExcel.setParameter(JRExporterParameter.OUTPUT_STREAM, tmpStream);
//        expExcel.exportReport();
//        // Convertimos el objeto JasperPrint a un stream de bytes
//        return tmpStream.toByteArray();
//
//    }
}
